home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ppppcccciiiibbbbrrrr____hhhhiiiinnnnttttssss((((DDDD3333)))) ppppcccciiiibbbbrrrr____hhhhiiiinnnnttttssss((((DDDD3333))))
-
-
-
- NNNNAAAAMMMMEEEE
- _pppp_cccc_iiii_bbbb_rrrr______hhhh_iiii_nnnn_tttt_ssss______dddd_uuuu_aaaa_llll_ssss_llll_oooo_tttt - note device uses two PCI slots
- _pppp_cccc_iiii_bbbb_rrrr______hhhh_iiii_nnnn_tttt_ssss______ffff_iiii_xxxx______rrrr_rrrr_bbbb_ssss - prevent all automatic RRB allocation
- _pppp_cccc_iiii_bbbb_rrrr______hhhh_iiii_nnnn_tttt_ssss______ffff_iiii_xxxx______ssss_oooo_mmmm_eeee______rrrr_rrrr_bbbb_ssss - prevent some automatic RRB allocation
- _pppp_cccc_iiii_bbbb_rrrr______hhhh_iiii_nnnn_tttt_ssss______hhhh_aaaa_nnnn_dddd_ssss_oooo_ffff_ffff - prevent generic handling
- _pppp_cccc_iiii_bbbb_rrrr______hhhh_iiii_nnnn_tttt_ssss______ssss_uuuu_bbbb_dddd_eeee_vvvv_ssss - specify subdevice mask
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- #include <sys/PCI/pcibr.h>
-
- void
- pcibr_hints_dualslot(
- vertex_hdl_t _x_c_o_n_n__v_h_d_l,
- pciio_slot_t _h_o_s_t,
- pciio_slot_t _g_u_e_s_t)
-
- void
- pcibr_hints_fix_rrbs(
- vertex_hdl_t _x_c_o_n_n__v_h_d_l)
-
- void
- pcibr_hints_fix_some_rrbs(
- vertex_hdl_t _x_c_o_n_n__v_h_d_l,
- unsigned _s_l_o_t__m_a_s_k)
-
- void
- pcibr_hints_handsoff(
- vertex_hdl_t _x_c_o_n_n__v_h_d_l)
-
- void
- pcibr_hints_subdevs(
- vertex_hdl_t _x_c_o_n_n__v_h_d_l,
- pciio_slot_t _p_c_i__s_l_o_t,
- ulong_t _s_u_b_d_e_vs)
-
- AAAArrrrgggguuuummmmeeeennnnttttssss
- _g_u_e_s_t A PCI slot number other than the host slot whose resources are
- used by a dualslot device.
-
- _h_o_s_t A PCI slot number in which a dualslot device responds to Config
- space accesses.
-
- _p_c_i__s_l_o_t
- The (possibly logical) PCI slot number of the device of interest.
-
- _s_l_o_t__m_a_s_k
- A bit mask specifying which PCI slots (or REQ/GNT pairs) are
- affected by the call; the least significant bit is REQ0/GNT0, and
- so on up to bit 0x80 is REQ7/GNT7.
-
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- ppppcccciiiibbbbrrrr____hhhhiiiinnnnttttssss((((DDDD3333)))) ppppcccciiiibbbbrrrr____hhhhiiiinnnnttttssss((((DDDD3333))))
-
-
-
- _s_u_b_d_e_v A bitmask of populated subdevices for a specific PCI slot. The
- exact bit layout is dependent on the PCI device involved.
-
- _x_c_o_n_n__v_h_d_l
- The XIO connection point for the bridge, generally obtained from
- a nic_vmc callback.
-
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- Boards are sometimes built with onboard PCI busses that route more than
- one REQ/GNT pair to a single device. _p_c_i_b_r__h_i_n_t_s__d_u_a_l_s_l_o_t() is used to
- inform the infrastructure of such devices.
-
- _p_c_i_b_r__h_i_n_t_s__f_i_x__r_r_b_s() disables automatic RRB adjustment for all REQ/GNT
- pairs on the bus.
-
- _p_c_i_b_r__h_i_n_t_s__f_i_x__s_o_m_e__r_r_b_s() disables automatic RRB adjustment for the
- specified REQ/GNT pairs on the bus; the least significant bit corresponds
- to REQ0/GNT0 and bit 0x80 corresponds to REQ7/GNT7.
-
- _p_c_i_b_r__h_i_n_t_s__h_a_n_d_s_o_f_f() prevents additional initialization of the
- specified Bridge ASIC and the infrastructure at and beyond the Bridge.
-
- _p_c_i_b_r__h_i_n_t_s__s_u_b_d_e_v_s() is used to inform varous PCI device drivers that
- have multiple subdevices of which subdevices are meaningful; for
- instance, a chip supporting serial ports and ethernet may be used without
- serial port connectors, and _p_c_i_b_r__h_i_n_t_s__s_u_b_d_e_v_s() would be called to
- inform the driver that it need not provide support for those particular
- serial ports.
-
- NNNNOOOOTTTTEEEESSSS
- _p_c_i_b_r__h_i_n_t_s__d_u_a_l_s_l_o_t() is limited to noting two REQ/GNT pairs for a
- single device. Using multiple calls to associate additional REQ/GNT
- pairs with a single device has undefined results.
-
- If _p_c_i_b_r__h_i_n_t_s__f_i_x__r_r_b_s() or _p_c_i_b_r__h_i_n_t_s__f_i_x__s_o_m_e__r_r_b_s() is applied and
- RRBs are not manually assigned to REQ/GNT pairs, any DMA READ request
- from outside the local PCI bus using one of those REQ/GNT pairs will
- stall forever.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- nic_vmc(D3) pcibr_rrb(D3)
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-